Skip to content

[FLINK-39171][oracle-cdc] Fix Oracle pipeline connector wrong field case#4292

Merged
lvyanquan merged 2 commits intoapache:masterfrom
Hisoka-X:FLINK-39171-oracle-pipeline-uppercase
Mar 25, 2026
Merged

[FLINK-39171][oracle-cdc] Fix Oracle pipeline connector wrong field case#4292
lvyanquan merged 2 commits intoapache:masterfrom
Hisoka-X:FLINK-39171-oracle-pipeline-uppercase

Conversation

@Hisoka-X
Copy link
Member

This close https://issues.apache.org/jira/browse/FLINK-39171

This pull request standardizes the handling of Oracle table and column names by preserving their original case throughout the schema extraction, test event creation, and test assertions. Previously, names were converted to lowercase, which could cause mismatches and confusion when working with case-sensitive database objects. Now, table and column names are kept in their original case, improving consistency and correctness across the codebase and tests.

org.apache.flink.cdc.common.schema.Column cdcColumn =
org.apache.flink.cdc.common.schema.Column.physicalColumn(
column.name().toLowerCase(Locale.ROOT), dataType);
column.name(), dataType);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing the lowercase conversion may introduce an incompatibility. Should this be controlled by a configuration option for backward compatibility?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The oracle pipeline connector not release yet. So I think this is not a big deal. :)
Clipboard_Screenshot_1773891897
c8e444b

@Hisoka-X Hisoka-X changed the title [FLINK-39071][oracle-cdc] Fix Oracle pipeline connector wrong field case [FLINK-39171][oracle-cdc] Fix Oracle pipeline connector wrong field case Mar 19, 2026
…Oracle column name handling

Extract the removeQuotes method to OracleSchemaUtils to centralize Oracle table/column
name case handling logic. This method follows Oracle naming rules: names enclosed in
double quotes retain their original case, otherwise they are converted to uppercase.

This change improves code reuse between OracleSchemaUtils and BaseParserListener,
making it easier to add configuration options for case handling in the future.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Contributor

@lvyanquan lvyanquan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1.

@lvyanquan lvyanquan merged commit 1f64e57 into apache:master Mar 25, 2026
70 of 74 checks passed
lvyanquan added a commit that referenced this pull request Mar 25, 2026
…ase (#4292)

Co-authored-by: lvyanquan <lvyanquan.lyq@alibaba-inc.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 1f64e57)
@Hisoka-X
Copy link
Member Author

Thanks @lvyanquan and @ruanhang1993!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants